Skip to content

Make AppRegistry and Core timers Flow strict-local (#57735) - #57735

Open
rubennorte wants to merge 6 commits into
react:mainfrom
rubennorte:export-D113763781
Open

Make AppRegistry and Core timers Flow strict-local (#57735)#57735
rubennorte wants to merge 6 commits into
react:mainfrom
rubennorte:export-D113763781

Conversation

@rubennorte

@rubennorte rubennorte commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary:

Upgrade AppRegistry (and its Flow type companion) and several Core timer modules from flow to flow strict-local with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 28, 2026
@meta-codesync

meta-codesync Bot commented Jul 28, 2026

Copy link
Copy Markdown

@rubennorte has exported this pull request. If you are a Meta employee, you can view the originating Diff in D113763781.

@github-actions

Copy link
Copy Markdown

Warning

JavaScript API change detected

This PR commits an update to ReactNativeApi.d.ts, indicating a change to React Native's public JavaScript API.

  • Please include a clear changelog message.
  • This change will be subject to additional review.

This change was flagged as: POTENTIALLY_BREAKING

rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 28, 2026
Summary:
Pull Request resolved: react#57735

Upgrade `AppRegistry` (and its Flow type companion) and several Core timer modules from `flow` to `flow strict-local` with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781
@meta-codesync meta-codesync Bot changed the title Make AppRegistry and Core timers Flow strict-local Make AppRegistry and Core timers Flow strict-local (#57735) Jul 28, 2026
Summary:
Upgrade the legacy native module spec files from `flow` to `flow strict-local` to enforce stricter local type checking. Loose `Object` types were replaced with the codegen-equivalent `UnsafeObject`, and `Array<any>` parameters with `Array<unknown>`, both of which are codegen-identical so the generated native interfaces are unchanged.

Changelog: [Internal]

Differential Revision: D113763785
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 29, 2026
Summary:
Pull Request resolved: react#57735

Upgrade `AppRegistry` (and its Flow type companion) and several Core timer modules from `flow` to `flow strict-local` with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 29, 2026
Summary:
Pull Request resolved: react#57735

Upgrade `AppRegistry` (and its Flow type companion) and several Core timer modules from `flow` to `flow strict-local` with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781
rubennorte added a commit to rubennorte/react-native that referenced this pull request Jul 29, 2026
Summary:
Pull Request resolved: react#57735

Upgrade `AppRegistry` (and its Flow type companion) and several Core timer modules from `flow` to `flow strict-local` with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781
rubennorte and others added 5 commits July 29, 2026 08:58
Summary:
Upgrade the Blob-related modules (`File`, `FileReader`, `URL`, `URLSearchParams`) from `flow` to `flow strict-local`. These expose spec-mandated getters/setters, so they opt out of the `unsafe-getters-setters` lint with a scoped `// flowlint unsafe-getters-setters:off` directive. `URL` also received small behavior-preserving refactors (local variables instead of parameter reassignment, explicit null/empty checks).

Changelog: [Internal]

Differential Revision: D113763778
Summary:
Upgrade the StyleSheet modules from `flow` to `flow strict-local`. `processFilter` and `setNormalizedColorAlpha` required small, behavior-preserving refactors (local variables instead of reassigning function parameters, and explicit null/empty checks) to satisfy the stricter lints.

Changelog: [Internal]

Differential Revision: D113763790
Summary:
Upgrade assorted Utilities modules from `flow` to `flow strict-local` with accurate types. `insetsDiffer` uses local variables instead of reassigning its function parameters. Behavior is unchanged.

Changelog: [Internal]

Differential Revision: D113763792
Summary:
Upgrade assorted components from `flow` to `flow strict-local` with accurate types. `Button` replaces implicit truthiness checks with explicit comparisons that preserve the exact previous runtime behavior (no logic change).

Changelog: [Internal]

Differential Revision: D113763782
Summary:
Pull Request resolved: react#57735

Upgrade `AppRegistry` (and its Flow type companion) and several Core timer modules from `flow` to `flow strict-local` with accurate types. Behavior is unchanged.

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D113763781
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant